{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from __future__ import print_function, division\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "from pyquil.quil import Program\n",
    "from pyquil.api import QVMConnection, get_devices\n",
    "from pyquil.gates import H, CNOT\n",
    "import networkx as nx\n",
    "\n",
    "DARK_TEAL = '#48737F'\n",
    "FUSCHIA = '#D6619E'\n",
    "BEIGE = '#FEFADA33'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{u'19Q-Acorn': <Device 19Q-Acorn online>,\n",
       " u'8Q-Agave': <Device 8Q-Agave offline>}"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "devices = get_devices(as_dict=True)\n",
    "devices"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "try:\n",
    "    acorn = devices['19Q-Acorn']\n",
    "except KeyError:\n",
    "    print(\"This notebook requires access to Rigetti's 19Q-Acorn device information.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# def make_isa_graph(device):\n",
    "device = acorn\n",
    "nodes = [q.id for q in device.isa.qubits if not q.dead]\n",
    "node_set = set(nodes)\n",
    "edges = [e.targets for e in device.isa.edges if not e.dead and set(e.targets) <= node_set]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "g = nx.graph.Graph()\n",
    "g.add_edges_from(edges)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def node_to_pos(n, width=5, h=1, v=.3):\n",
    "    \"\"\"\n",
    "    Convert a node index to a layout position for a degree-3 graph\n",
    "    of a given width.\n",
    "    \"\"\"\n",
    "    y0 = -(n // width)\n",
    "    x = (n % width - (y0 % 2) * .5) * h\n",
    "    return x, y0 * v    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "node_positions = {n: node_to_pos(n) for n in nodes}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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IYUxmHXiIjh24objJ144duKFYyc+Xjn5AgCY8kL2UVmE4rDbXowENLIIZVnyi7OPuuX5fRiOnbjh+IkXjp144diJi+QXv/gF3z1YZu6Pd+bhhCEQtjSucvh8d7hZY0oHANetQTX2Ikz95bzdhCEue1p0D46duOH4iReOnXjh2PGPSCI6bP1Zr518AXzzYlTXD/UaB3QLAICAE0f7TEApQ4jWLz34lZSfzX0bX4Tu4+qxM4IZCCEafxw7j3D1+FGgJkKIDvc998P3TfHC901+4eRrHMIQCF0YUy8NUxxX1w9lURMNh3svRptfRSagYAAKd6R60rs4+LkF/5JzxhW9ocm5cuxapHr4eKrm/cd3LMLbo0LOVC4AACAASURBVD3ElePXLjNoM7bN2BRXklbjvo7Rfa5+3xxeGvbD+T+Y84X7Okb3ufp982SK9u2NLxW9776OvQdOvixQTglURaxOOmZSGysNfdpAqjcnAQEt3HtRWvpmYNQSM6FAyWW5GkoD+uG03zA069TmjYsy8U3EgxwZOwOhJjNQyfix69Zrk5bmTD0Q5K9wYi0bZC97x48CmLTExAAA3B+/T/yGZP1+tKIoe0qbp/v3Za5632zSqgwbFs045+H2fZojY6e39L5p0CU+nJu2318p83SQq+jYM/kilNq5npOHUMOtXHc+v+rmYODg2c5Zug51lnFAl0uNNAoolQEhBiIlPdIwxcXTMBD1sbprs5b55ndEAAwvblm4bllOilMrASPH2TJ2PSG045WOm/+hYahk/GOzkqN+/eoPHznMV+/IhvELlV/8m+buo3Wgmjp+3wvyk1fu//kT/4fH1n2eLfveJ7Qv7hNNzwbW+6bup089tLYwK2mQx/Z9mi1j1xFs6v5t562faxk64SjZrNToX+z854eP8dW7WBBZhs0Ljfvs5MsWt9r6/F7488njZjMNHl9PiAz62//85LHX+eoL2Wbbfx769cCIdvX4mlwqad7/s81PKORSYb7wEQAA/MffP19edbP9FXa9eOnMku+symngoydkm6tN3YH//j+fHjdTGjC+PiU65M03XvjWm3z1hWzz5K8P7RxUaVeMrylkkobS/ygukUq8NiDBJeyZfOFvchIZCRGa+Iigg+x6R9/o5putvf589IRst2xOynvsmt5omrpzf/liPvpBtttRUnRGJmXusuufXmx8io9+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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11039b7d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10, 8))\n",
    "nx.draw_networkx(g, \n",
    "                 with_labels=True, \n",
    "                 pos=node_positions, \n",
    "                 font_color=BEIGE,\n",
    "                 node_color=FUSCHIA, \n",
    "                 node_size=1000, \n",
    "                 width=5,\n",
    "                 edge_color=DARK_TEAL)\n",
    "ax = plt.gca()\n",
    "ax.set_facecolor(BEIGE)\n",
    "ax.spines['top'].set_visible(False)\n",
    "ax.spines['right'].set_visible(False)\n",
    "ax.spines['bottom'].set_visible(False)\n",
    "ax.spines['left'].set_visible(False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "acorn_qvm = QVMConnection(\n",
    "    device=acorn\n",
    ")\n",
    "qvm = QVMConnection()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "q0, q1 = acorn.isa.edges[0].targets\n",
    "p = Program(H(q0), CNOT(q0, q1)).measure(q0, 0).measure(q1, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "job TKAsWPGetELOrXNY is currently queued at position 0. Estimated time until execution: 0.0 seconds.\n",
      "job TKAsWPGetELOrXNY is currently running\n",
      "job TKAsWPGetELOrXNY is currently running\n",
      "CPU times: user 330 ms, sys: 25.4 ms, total: 356 ms\n",
      "Wall time: 7.24 s\n"
     ]
    }
   ],
   "source": [
    "%%time \n",
    "job1 = acorn_qvm.wait_for_job(acorn_qvm.run_async(p, [0, 1], 1000))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "job iIrYdNPcAXgXlzDb is currently running\n",
      "CPU times: user 24.2 ms, sys: 4.11 ms, total: 28.3 ms\n",
      "Wall time: 1.26 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "job2 = qvm.wait_for_job(qvm.run_async(p, [0, 1], 1000))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "H 0\n",
      "CNOT 0 5\n",
      "MEASURE 0 [0]\n",
      "MEASURE 5 [1]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# uncomment to see the full compiled quil file\n",
    "# print(job1.compiled_quil())\n",
    "\n",
    "# a QVMConnection without a device does not recompile the program\n",
    "print(job2.compiled_quil())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "acorn decoherence noise: <z1> = -0.042, <z2> = -0.022, <z1z2> = 0.796\n",
      "no noise: <z1> = -0.022, <z2> = -0.022, <z1z2> = 1.0\n"
     ]
    }
   ],
   "source": [
    "for case, job in zip([\"acorn decoherence noise\", \"no noise\"], [job1, job2]):\n",
    "    r = np.asarray(job.result())\n",
    "    zs = 1-2*r\n",
    "    z1 = zs[:, 0]\n",
    "    z2 = zs[:, 1]\n",
    "    z1z2 = z1 * z2\n",
    "    print(\"{}: <z1> = {}, <z2> = {}, <z1z2> = {}\".format(case, z1.mean(), z2.mean(), z1z2.mean()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
